Searching for computer resources based on associations between these resources and external events

ABSTRACT

The invention provides a method and system for searching based on association of system resources a user was working on with external devices such as user&#39;s PDA, mobile phone, or printer and the system&#39;s interaction with such external devices. In one embodiment of the invention, a method is provided comprising a person using a resource on the computer and, during said using, engaging in another event; sending data to the computer related to said another event; and the computer creating an association between said another event and said resource. This embodiment also comprises sending a request to the computer to identify the resource that was being used by said person at the time of said another event; and the computer, acting in response to said request, using said association to identify said resource.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to using a computer to search forresources such as data or files. More specifically, the inventionrelates to searching for computer resources based on associationsbetween those resources and external events.

2. Background Art

Conventional computer operating systems have the capability to searchfor files and folders based on a number of criteria, including filename, file extension, specific phrase or keyword inside the file, timelast modified, and size. Most often these searches are useful when theuser has information about these details. However, sometime people donot have such details. Also, sometimes people recall information that isnot directly relevant to the applications they were working on, andwould like the computer to conduct a search based on such information.The present limitation in conventional computer searches is that theywork on objects or events within the computer system, such as searchingfile objects based on creation or modification of date and time, name orextension.

Attempts have been made to record incident logs in a computer or dataprocessing system. The incident information that is generated is forevents happening within the system, for instance within a mobile phonesystem or a personal computer. It does not extend to key eventshappening in other systems or to external system events.

SUMMARY OF THE INVENTION

Embodiments of the invention provide a method, system and computerprogram product for using a computer to search for resources. In oneembodiment of the invention, a method is provided comprising a personusing a resource on the computer and, during said using, engaging inanother event; sending data to the computer related to said anotherevent; and the computer creating an association between said anotherevent and said resource. This embodiment also comprises sending arequest to the computer to identify the resource that was being used bysaid person at the time of said another event; and the computer, actingin response to said request, using said association to identify saidresource.

As one example, the association between said another event and saidresource may be stored in a relational database. As another example, anobject oriented data model may be used to associate said another eventand said resource.

In one embodiment, described in detail below, the invention associatesevents occurring in devices external to a computer—such as storagedevices, mobile phone devices, printers, and so on—with tasks or objectsa user is working with on the computer. This association can be used forsearching across all the peripheral devices. Such capability makes thecomputers more intuitive and smarter to work with. This is becausepeople will be able to search the tasks they were working on byrecalling commonplace events, such as receiving a call from friend, andthe latter, which are much easier to remember than file names ordate/time information.

Further benefits and advantages of this invention will become apparentfrom a consideration of the following detailed description, given withreference to the accompanying drawings, which specify and show preferredembodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a conceptual representation of an incident event model thataccounts for storing peripheral events and relating those events toobjects in a computer system.

FIG. 2 is a table illustrating typical information that may be stored inincident logs as a user works with objects in a computer system.

FIG. 3 is a block diagram depicting an object oriented data model of anincident log.

FIG. 4 is a block diagram illustrating the interaction of phone calls,short message service messages (SMSes), and printer devices with acomputer system.

FIG. 5 is an exemplary diagram of a computing environment in which thepresent invention may be implemented.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a system, method or computer program product.Accordingly, the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present invention may take the form of a computer program productembodied in any tangible medium of expression having computer usableprogram code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CDROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium, upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks. These computer programinstructions may also be stored in a computer-readable medium that candirect a computer or other programmable data processing apparatus tofunction in a particular manner, such that the instructions stored inthe computer-readable medium produce an article of manufacture includinginstruction means which implement the function/act specified in theflowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

Generally, in accordance with the present invention, a computer systemassociates a resource on which a user was working, with events occurringin various devices that a user used at the time the user was working onthat resource. The computer system later uses that association toperform a search for that resource or a related resource. Thiscapability makes computers more intuitive and smarter to work with, aspeople are able to search the tasks on which they were working byrecalling commonplace events, such as receiving a call from friend orvice versa, which are often much easier to remember than file names ordate/time information.

In order to achieve this the computer systems are made pervasive bygathering events or data from various devices or peripherals of acomputing device. Human memory is based on the association of disparateinformation obtained from various sources. This invention emulates thatby collecting information about events from peripheral devices that areconnected to nearby, or used at the same times as a computer, and usingthat information to recall the objects the user was working with, oractions the user was doing, at the time these other events occurred.

In an embodiment of the present invention, the operating system recordsadditional information, which will be described below, in addition tothe application resource name, type, location, timestamp, and username.The search options available in today's operating system are able tosearch the files based on a given name or modified time stamp. However,today's operating systems are limited in that they are not able toperform a search on system objects based on events happening withinperipheral devices at a given time, or on operations the user performedon those devices, such as making a call on a mobile phone or using aprinter.

FIG. 1 illustrates various events that can be associated with a computerobject or resource. For example, as represented at 102, informationabout telephone calls to or from a mobile phone, or information aboutSMS messages may be recorded for association with a computer object oraction. Printer events may also be recorded, as represented at 104, forthe same purpose. In addition, an incident log 106 may be kept ofincidents, and an incident log 110 may be kept to store informationabout individual incidents. A resource record 112 may be kept to recordinformation about resources on the computer system, and an event record114 may be kept to store information about individual events.

The following discussion gives an example that illustrates the utilityof a search based on external stimulus. Namely, FIG. 2 illustrates anincident log for a specific user, named Joe, for Mar. 16, 2008. Based onthe log, Joe can get the system to return the resources he was workingon while he received a call from a person named Anita on his mobilephone, which would be one or more of Resume.doc 25, B1.ppt 40, andPricing.x1s 55. Also, the system can now support another query such as“Who called Joe when a particular document was being modified.” One cansee that Joe received calls from Anita, Sam and an unknown caller fromphone number 9890111222 when Joe was working on his resume.

Object Oriented Data of Incident Log

Operating systems may use a relational database or equivalent to storethe incident information. An alternative to using a conventionalrelational database for storing logs is to use an object oriented datamodel as depicted in FIG. 3.

In the log, each system resource is represented as an object withproperties. The incidents log 300 is a collection of objects a user wasworking with. The user location 325 is represented as a property for theincident log entry 310 for that particular location. A collection ofincident logs 310 form the main incidents log 300.

The destination object 360 represents the storage devices a particularresource is saved to. In the embodiment shown, this object hasproperties such as resource location 375, device name 365, and name 370of the system resource on this device. A resource object 330 may have alist of destinations 345. For instance, Joe's resume could be stored ona CD, a pen drive, and a flash drive, apart from the computer systemitself.

Mobile Devices

FIG. 4 is a block diagram illustrating the interaction of phone calls,SMSes, and printer devices with a computer system. Another example of anembodiment of this invention uses the incoming/outgoing calls and/orSMSes 400, to or from the user, Joe, when Joe is working on apresentation. Joe may not remember the name of the file, but he may beable to vividly remember a call from an important client or his wife.

In another embodiment, the invention associates calls received on a cellphone while working on a document on a computer. When a user receives aparticular call on his cell phone or landline, this information can bemade available to a desktop computer 410 from time to time through aninfrared, Bluetooth link or a data cable if the phone is connected tothe computer.

As another example of an embodiment of the present invention, when aperson opens a particular document on a computer, the computer operatingsystem gives the person the option to send a command to his or her cellphone (if the cell phone is in range) to display all the numbers dialedor calls received the last time the person was working on the document.

All the phone 400 needs to retrieve this data is date/time stampinformation. The desktop computer 410 may supply such information to themobile device 400 in a mutually agreeable format over, for example, adata cable, an infrared link or a Bluetooth network. When the phone 400receives the request for this information, the phone will search itsmemory or sim card memory to retrieve information about the calls andmessages sent or received during the relevant time period.

The user can be more specific as well. The user might say, for example,“Give me only the incoming calls the last time I worked on thisdocument.” So along with the date/time information, an operation type isalso sent to the mobile device 400. Such an operation type, in anembodiment, has predefined values appropriate to the functionalityoffered by a peripheral device.

Phone calls may be incoming calls, outgoing calls, incoming messages,and outgoing messages. For instance, while browsing through the outgoingcall list, a person may select a contact and send a “query” command tothe desktop computer 410. The phone 400 sends this date/time stamp andcaller information to the computer system to query against.

Since the association between date/time, caller id, etc, has alreadybeen made in the computer system, the computer system can easily look upall associated system objects and present them to the user on thedesktop screen.

With prior art devices, users can only synchronize static address books,calendars or file objects between phone and computer. Embodiments of thepresent invention are able to synchronize transactional informationhappening in real time.

In the case of phone calls, the information that can be shared withother devices includes, but is not limited to: 1) caller ID (contactname if in address book), 2) date/time call arrived or made (incoming oroutgoing), and 3) duration of call. In the case of SMSes, theinformation that can be shared with other devices includes, but is notlimited to: 1) sender's/receiver's phone number, and 2) date/time SMSsent/arrived.

Printer Devices

The following information may be already available, or, if not, may becommunicated by a printer server 420 to a desktop computer 430: 1)printer location, 2) user/computer IP addresses/names that sent theprint jobs, 3) names of documents which were sent for printing, 4)number of copies to be printed, 5) date/time stamp at which thedocuments were sent to print, and 6) the result of the print request,such as failed printing, successful, etc.

The computer 430 uses this information to form associations with fileobjects in order to search for these objects at a later time. One way toform these associations is to treat such external information astransactional attributes of file objects. The computer system can usethese attributes to entertain queries such as: 1) “Give me the documentsI tried to print but failed at the office today when I was listening toa particular song on my IPOD”, or 2) “Give me the documents <fileobjects> 1 <user> was working on when I got a call <external event> fromso and so person yesterday <date/time info>”.

Workplace Recovery Based on External Events

In addition to offering a new way to search, the functionality providedby embodiments of this invention can be used to quickly launch theresources on which a user was working, based on the user's interactionwith peripheral devices. Therefore, in the example discussed inconnection with FIG. 2, Joe can now ask the computer system to launchall applications or open resources he was working with when, forinstance, he was on a telephone call with a given person, or downloadedan area map on his PDA, or was playing a particular music number on hisportable music player, or added someone to his contact list, and so on.

For example, FIG. 5 and the following discussion provide a brief generaldescription of a suitable computing environment in which the inventionmay be implemented. It should be understood, however, that handheld,portable, and other computing devices of all kinds are contemplated foruse in connection with the present invention. While a general-purposecomputer is described below, this is but one example, the presentinvention may be implemented in an environment of networked hostedservices in which very little or minimal client resources areimplicated, e.g., a networked environment in which the client deviceserves merely as a browser or interface to the World Wide Web.

Although not required, the invention can be implemented via anapplication-programming interface (API), for use by a developer, and/orincluded within the network browsing software, which will be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers, such as clientworkstations, servers, or other devices. Generally, program modulesinclude routines, programs, objects, components, data structures and thelike that perform particular tasks or implement particular abstract datatypes. Typically, the functionality of the program modules may becombined or distributed as desired in various embodiments. Moreover,those skilled in the art will appreciate that the invention may bepracticed with other computer system configurations.

Other well known computing systems, environments, and/or configurationsthat may be suitable for use with the invention include, but are notlimited to, personal computers (PCs), server computers, hand-held orlaptop devices, multi-processor systems, microprocessor-based systems,programmable consumer electronics, network PCs, minicomputers, mainframecomputers, and the like. The invention may also be practiced indistributed computing environments where tasks are performed by remoteprocessing devices that are linked through a communications network orother data transmission medium. In a distributed computing environment,program modules may be located in both local and remote computer storagemedia including memory storage devices.

FIG. 5, thus, illustrates an example of a suitable computing systemenvironment 500 in which the invention may be implemented, although asmade clear above, the computing system environment 500 is only oneexample of a suitable computing environment and is not intended tosuggest any limitation as to the scope of use or functionality of theinvention. Neither should the computing environment 500 be interpretedas having any dependency or requirement relating to any one orcombination of components illustrated in the exemplary operatingenvironment 500. With reference to FIG. 5, an exemplary system forimplementing the invention includes a general purpose-computing devicein the form of a computer 510. Components of computer 510 may include,but are not limited to, a processing unit 520, a system memory 530, anda system bus 521 that couples various system components including thesystem memory to the processing unit 520. The system bus 521 may be anyof several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. By way of example, and not limitation, sucharchitectures include Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnect (PCI) bus (also known as Mezzanine bus).

Computer 510 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 510 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CDROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by computer 510.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media. Combinations of any ofthe above should also be included within the scope of computer readablemedia.

The system memory 530 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 531and random access memory (RAM) 532. A basic input/output system 533(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 510, such as during start-up, istypically stored in ROM 531. RAM 532 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 520. By way of example, and notlimitation, FIG. 5 illustrates operating system 534, applicationprograms 535, other program modules 536, and program data 537.

The computer 510 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 5 illustrate a bard disk drive 541 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 551that reads from or writes to a removable, nonvolatile magnetic disk 552,and an optical disk drive 555 that reads from or writes to a removable,nonvolatile optical disk 556, such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 541 is typically connectedto the system bus 521 through a non-removable memory interface such asinterface 540, and magnetic disk drive 551 and optical disk drive 555are typically connected to the system bus 521 by a removable memoryinterface, such as interface 550.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 5 provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 510. In FIG. 5, for example, hard disk drive 541 is illustratedas storing operating system 544, application programs 545, other programmodules 546, and program data 547. Note that these components can eitherbe the same as or different from operating system 534, applicationprograms 535, other program modules 536, and program data 537. OperatingSystem 544, application programs 545, other program modules 546, andprogram data 547 are given different numbers here to illustrate that, ata minimum, they are different copies.

A user may enter commands and information into the computer 510 throughinput devices such as a keyboard 562 and pointing device 561, commonlyreferred to as a mouse, trackball or touch pad. Other input devices (notshown) may include a microphone, joystick, game pad, satellite dish,scanner, or the like. These and other input devices are often connectedto the processing unit 520 through a user input interface 560 that iscoupled to the system bus 521, but may be connected by other interfaceand bus structures, such as a parallel port, game port or a universalserial bus (USB).

A monitor 591 or other type of display device is also connected to thesystem bus 521 via an interface, such as a video interface 590. Agraphics interface 582, such as Northbridge, may also be connected tothe system bus 521. Northbridge is a chipset that communicates with theCPU, or host-processing unit 520, and assumes responsibility foraccelerated graphics port (AGP) communications. One or more graphicsprocessing units (GPUs) 584 may communicate with graphics interface 582.In this regard, GPUs 584 generally include on-chip memory storage, suchas register storage and GPUs 584 communicate with a video memory 586.GPUs 584, however, are but one example of a coprocessor and, thus, avariety of co-processing devices may be included in computer 510. Amonitor 591 or other type of display device is also connected to thesystem bus 521 via an interface, such as a video interface 590, whichmay in turn communicate with video memory 586. In addition to monitor591, computers may also include other peripheral output devices such asspeakers 297 and printer 596, which may be connected through an outputperipheral interface 595.

The computer 510 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer580. The remote computer 580 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 510, although only a memory storage device 281 has beenillustrated in FIG. 5. The logical connections depicted in FIG. 5include a local area network (LAN) 571 and a wide area network (WAN)573, but may also include other networks. Such networking environmentsare commonplace in offices, enterprise-wide computer networks, intranetsand the Internet.

When used in a LAN networking environment, the computer 510 is connectedto the LAN 571 through a network interface or adapter 570. When used ina WAN networking environment, the computer 510 typically includes amodem 572 or other means for establishing communications over the WAN573, such as the Internet. The modem 572, which may be internal orexternal, may be connected to the system bus 521 via the user inputinterface 560, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 510, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 2 illustrates remoteapplication programs 585 as residing on memory device 581. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

One of ordinary skill in the art can appreciate that a computer 510 orother client device can be deployed as part of a computer network. Inthis regard, the present invention pertains to any computer systemhaving any number of memory or storage units, and any number ofapplications and processes occurring across any number of storage unitsor volumes. The present invention may apply to an environment withserver computers and client computers deployed in a network environment,having remote or local storage. The present invention may also apply toa standalone computing device, having programming languagefunctionality, interpretation and execution capabilities.

While it is apparent that the invention herein disclosed is wellcalculated to fulfill the objects stated above, it will be appreciatedthat numerous modifications and embodiments may be devised by thoseskilled in the art, and it is intended that the appended claims coverall such modifications and embodiments as fall within the true spiritand scope of the present invention.

What is claimed is:
 1. A method of identifying a computer resource thatwas being used by a person at a computer while engaging in another eventon a device other than the computer, comprising: receiving, at thecomputer from the other device, data relating to the event on the otherdevice, wherein the event on the other device includes a communicationwith a second person and occurs during use of the computer resource bythe person on the computer; creating, at the computer, an associationbetween the event on the other device and the computer resource;receiving from a user, at the computer at respective later times aftercompletion of the event and use of the computer resource, a resourcerequest for accessing the computer resource including an identificationof the event on the other device and an event request for accessing thecommunication including an identification of the computer resource;identifying, at the computer based on the identification of the event inthe resource request, the computer resource used during occurrence ofthe event using the created association; identifying, at the computerbased on the identification of the computer resource in the eventrequest, information pertaining to the second person and thecommunication that occurred on the other device during use of thecomputer resource using the created association; and in response tosubsequent use computer resource on the computer, sending a command tothe other device including time information to determine and display onthe other device information for each event on the other devicepertaining to the person and occurring during the use of the computerresource on the computer.
 2. The method according to claim 1 furtherincluding storing the association in a relational database.
 3. Themethod according to claim 2 farther including storing received datarelating to the event in the relational database.
 4. The methodaccording to claim 1, wherein the creating the association between theevent and the computer resource includes using an object oriented datamodel to associate the event and the computer resource.
 5. The methodaccording to claim 1, wherein the other device includes one of a phoneand a Personal Digital Assistant.
 6. The method according to claim 1,wherein the data relating to the event is received while the person isengaging in the event.
 7. The method according to claim 1 furthercomprising: maintaining, at the computer, an incidents log of datarelated to events engaged in by the person; and using the incidents login identifying the computer resource.
 8. The method according to claim 1further comprising: determining whether the person using the computerresource had previously used the same computer resource; and usingcreated associations to identify at least one event engaged in by theperson during a prior use of the same computer resource.
 9. The methodaccording to claim 1, further including at the time of receiving theresource request, identifying the current location of the computerresource.
 10. The method according to claim 1 further comprising:recovering a workplace provided by the computer during occurrence of theevent indicated by the identification in the resource request byautomatically launching one or more applications and opening thecomputer resource that were used during occurrence of the indicatedevent.
 11. A system for identifying a computer resource that was beingused by a person at a computer while engaging in another event on adevice other than the computer, wherein the system comprises one or moreprocessor units on the computer and configured to: receive, at thecomputer from the other device, data relating to the event on the otherdevice, wherein the event on the other device includes a communicationwith a second person and occurs during use of the computer resource bythe person on the computer; create, at the computer, an associationbetween the event on the other device and the computer resource; receivefrom a user, at the computer at respective later times after completionof the event and use of the computer resource, a resource request foraccessing the computer resource including an identification of the eventon the other device and an event request for accessing the communicationincluding an identification of the computer resource; identify, at thecomputer based on the identification of the event in the resourcerequest, the computer resource used during occurrence of the event usingthe created association; identify, at the computer based on theidentification of the computer resource in the event request,information pertaining to the second person and the communication thatoccurred on the other device during use of the computer resource usingthe created association; and in response to a subsequent use of thecomputer resource on the computer, send a command to the other deviceincluding time information to determine and display on the other deviceinformation for each event on the other device pertaining to the personand occurring during the us of the computer resource on the computer.12. The system according to claim 11, wherein the one or more processorunits on the computer are further configured to: store said associationin a relational database.
 13. The system according to claim 11, whereinthe one or more processor units on the computer are further configuredto: use an object oriented data model to associate the event and thecomputer resource.
 14. The system according to claim 11, wherein the oneor more processor units on the computer are further configured toreceive the data while the person is engaging in the event.
 15. Thesystem according to claim 11, wherein the one or more processor units onthe computer are further configured to: recover a workplace provided bythe computer during occurrence of the event indicated by theidentification in the resource request by automatically launching one ormore applications and opening the computer resource that were usedduring occurrence of the indicated event.
 16. An article of manufacturecomprising: at least one non-transitory computer usable medium havingcomputer readable program code logic to execute a machine instruction ina processing unit for a computer so as to identify a computer resourcethat was being used by a person at the computer while engaging inanother event on a device other than the computer, the computer readableprogram code logic, when executing, performing the following: receiving,at the computer from the other device, data relating to the event on theother device, wherein the event on the other device includes acommunication with a second person and occurs during use of the computerresource by the person on the computer; creating, at the computer, anassociation between the event on the other device and the computerresource; receiving from a user, at the computer at respective latertimes after completion of the event and use of the computer resource, aresource request for accessing the computer resource including anidentification of the event on the other device and an event request foraccessing the communication including an identification of the computerresource; identifying, at the computer based on the identification ofthe event in the resource request, the computer resource used duringoccurrence of the event using the created association; identifying, atthe computer based on the identification of the computer resource in theevent request, information pertaining to the second person and thecommunication that occurred on the other device during use of thecomputer resource using the created association; and in response to asubsequent use of the computer resource on the computer, sending acommand to the other device including time information to determine anddisplay on the other device information for each event on the otherdevice pertaining to the person and occurring, during the use of thecomputer resource on the computer.
 17. The article of manufactureaccording to claim 16, wherein the computer readable program code logic,when executing, further performs the following: storing the associationin a relational database.
 18. The article of manufacture according toclaim 16, wherein the computer readable program code logic, whenexecuting, further performs the following: using an object oriented datamodel to associate the event and the computer resource.
 19. The articleof manufacture according to claim 16, wherein, when the computerresource has been used a first time and a second time that is subsequentto the first time, the computer readable program code logic, whenexecuting, further performs the following: during use of the computerresource the second time, identifying one or more activities of theperson during use of the computer resource the first time.
 20. Thearticle of manufacture according to claim 16, wherein the computerresource is not located on the computer, and the computer readableprogram code logic, when executing, further performs the following:using the association to identify where the computer resource islocated.
 21. The article of manufacture according to claim 16, whereinthe computer readable program code logic, when executing, furtherperforms the following: recovering a workplace provided by the computerduring occurrence of the event indicated by the identification in theresource request by automatically launching one or more applications andopening the computer resource that were used during occurrence of theindicated event.